package com.carlinfo.common.util;

import com.alibaba.fastjson.JSONObject;

/**
 *	分页工具类 
 */
public class PageInfoUtil
{
	/*	总条数	*/
	private int totalRecord;
	/*	每页多少条记录	*/
	private int pageSize = 10;
	/*	当前页面	*/
	private int currentPage;
	/*	总页数	*/
	private int totalPage ; 
	/*	上一页 	*/
	private int prePage;
	/*	下一页	*/
	private int nextPage;
	/*	当前的记录数	*/
	private int currentRecord;
	
	/*	分页读写器开始	*/
	/*	每页多少条记录	*/
	public int getPageSize()
	{
		return pageSize;
	}
	public void setPageSize(int pageSize)
	{
		this.pageSize = pageSize;
	}
	/*	当前页面	*/
	public int getCurrentPage()
	{
		/*	当前页面小于1	*/
		if(this.currentPage<1)
		{
			this.currentPage = 1 ;
		}
		/*	当前页面最大	*/
		if(this.currentPage > this.getTotalPage() &&
				this.getTotalPage() > 0)
		{
			this.currentPage = this.getTotalPage();
		}else if(this.getTotalPage() <= 0)
		{
			this.currentPage = 1;
		}else
		{
			this.currentPage = this.currentPage;
		}
		return currentPage;
	}
	
	public void setCurrentPage(int currentPage)
	{
		this.currentPage = currentPage;
	}
	public int getTotalRecord()
	{
		return totalRecord;
	}
	public void setTotalRecord(int totalRecord)
	{
		this.totalRecord = totalRecord;
	}
	/*	总页数	*/
	public int getTotalPage()
	{
		if(this.totalPage % this.pageSize ==0)
		{
			/*	总记录数 除以 分页的条数  就是分了多少页	*/
			this.totalPage = this.totalRecord/this.pageSize;
		}else
		{
			/*	总记录数 除以分页的条数 除不尽的时候要 新起一页 
			 * 	把剩下的条数放进去
			 */
			this.totalPage = this.totalRecord/this.pageSize + 1; 
		}
		return totalPage;
	}
	/*	上一页	*/
	public int getPrePage()
	{
		/*	当前页面减一  就是上页面	*/
		this.prePage = this.currentPage - 1;
		/*	当 当前页面为第一页的时候	*/
		if(this.prePage<1)
		{
			this.prePage = 1;
		}
		return prePage;
	}
	/*	下一页	*/
	public int getNextPage()
	{
		/*	当前页面+1 就是下一页	*/
		this.nextPage = this.getCurrentPage()+1;
		/*	当前页面为最大页面时	*/
		if(this.nextPage> this.getTotalPage())
		{
			/*	下一页就等于总页面	*/
			this.nextPage = this.getTotalPage();
		}
		return nextPage;
	}
	/*	当前的记录数	
	 * 	起始条数怎么算出来的
	 * 	(当前页面-1) * 每页多少条 +1;
	 * */
	public int getCurrentRecord()
	{
		
		this.currentRecord = (this.getCurrentPage()-1)*this.getPageSize();
		
		return currentRecord;
	}
	public String toJSON()
	{
		JSONObject resultJSON = new JSONObject();
		/*	拼装JSON	*/
		resultJSON.put("currentPage", this.getCurrentPage()+"");
		resultJSON.put("pageSize",this.getPageSize()+"");
		resultJSON.put("totalPage", this.getTotalPage()+"");
		resultJSON.put("totalRectd", this.getTotalRecord()+"");
		resultJSON.put("prePage", this.getPrePage()+"");
		resultJSON.put("nextPage", this.getNextPage()+"");
		resultJSON.put("cuttentRecord", this.getCurrentRecord()+"");
		return resultJSON.toJSONString();
	}
	public static void main(String[] args)
	{
		PageInfoUtil pageInfoUtil = new PageInfoUtil();
		/*	设置 总条数	*/
		pageInfoUtil.setTotalRecord(1);
		/*	设置 当前页面	*/
		pageInfoUtil.setCurrentPage(7);
		/*	设置每页条数	*/
		pageInfoUtil.setPageSize(10);
		System.out.println("==>"+pageInfoUtil.toJSON());
	}
	
}
